package cn.flying.cloud.gen;

import java.util.ArrayList;
import java.util.List;

import cn.flying.cloud.tool.code.service.GenerateCodeService;
import cn.flying.cloud.tool.vo.GenerateConfig;

/**
 * @author: admin
 * @date: 2023年08月23日 22:05
 * @version: 1.0
 */
public class PortalGenMain {
    public static void main(String[] args) throws Exception {
        //生成单表
//        singleTable();

        admin();
//        bridge();
//        ccs();
//        cps();
    }

    private static void singleTable() throws Exception {
        GenerateCodeService service = new GenerateCodeService();

        GenerateConfig config = new GenerateConfig();
        config.setType("MySql");
        config.setName("db_file");
        config.setHost("8.137.118.100");
//        config.setHost("localhost");
        config.setPort("3306");
        config.setUsername("root");
        config.setPassword("Rot132231,.");
//        config.setPassword("root123456");
        config.setAuthor("admin");
        config.setParent("cn.flying.cloud");
        config.setModuleName("file");
        config.setTableName("oss_config");
        config.setPrefix("");

        service.generateMpStyleCode(config);
//        service.generateMbStyleCode(config);
    }

    private static void admin() {
        GenerateCodeService service = new GenerateCodeService();

        GenerateConfig config = new GenerateConfig();
        config.setType("MySql");
        config.setName("db_admin");
        config.setHost("8.137.118.100");
//        config.setHost("localhost");
        config.setPort("3306");
        config.setUsername("root");
        config.setPassword("Rot132231,.");
//        config.setPassword("root123456");
        config.setAuthor("admin");
        config.setParent("cn.flying.cloud");
        config.setModuleName("system.log");
        List<String> tableNames = new ArrayList<>();
//        tableNames.add("sys_area_info");
//        tableNames.add("sys_login_log");
        tableNames.add("sys_oper_log");
        config.setTableNames(tableNames);

        service.generateMpStyleCode(config);
    }

    private static void ccs() {
        GenerateCodeService service = new GenerateCodeService();

        GenerateConfig config = new GenerateConfig();
        config.setType("MySql");
        config.setName("db_ccs");
        config.setHost("8.137.118.100");
//        config.setHost("localhost");
        config.setPort("3306");
        config.setUsername("root");
        config.setPassword("Rot132231,.");
//        config.setPassword("root123456");
        config.setAuthor("admin");
        config.setParent("cn.flying.financial");
        config.setModuleName("ccs.loan");
        List<String> tableNames = new ArrayList<>();
//        tableNames.add("cc_bank_info");
//        tableNames.add("cc_card_info");
//        tableNames.add("cc_contract_info");
//        tableNames.add("cc_credit_limit");
//        tableNames.add("cc_credit_limit_his");
//        tableNames.add("cc_customer_file");
//        tableNames.add("cc_customer_info");
//        tableNames.add("cc_lpr_info");
//        tableNames.add("cc_product_info");
//        tableNames.add("cc_product_channel");
//        tableNames.add("cc_product_term");
//        tableNames.add("cc_loan_his");
        tableNames.add("cc_loan_info");
        tableNames.add("cc_overdue_info");
        tableNames.add("cc_repay_info");
        tableNames.add("cc_repay_plan");
        config.setTableNames(tableNames);

        service.generateMpStyleCode(config);
    }

    private static void cps() {
        GenerateCodeService service = new GenerateCodeService();

        GenerateConfig config = new GenerateConfig();
        config.setType("MySql");
        config.setName("db_cps");
        config.setHost("8.137.118.100");
//        config.setHost("localhost");
        config.setPort("3306");
        config.setUsername("root");
        config.setPassword("Rot132231,.");
//        config.setPassword("root123456");
        config.setAuthor("admin");
        config.setParent("cn.flying.financial");
//        config.setModuleName("cps.flow");
        config.setModuleName("cps.app");
        List<String> tableNames = new ArrayList<>();
//        tableNames.add("fw_proc_form");
//        tableNames.add("cp_application_info");
//        tableNames.add("cp_attached_file");
//        tableNames.add("cp_approve_his");
//        tableNames.add("cp_card_info");
//        tableNames.add("cp_credit_app");
        tableNames.add("cp_loan_app");
        config.setTableNames(tableNames);

        service.generateMpStyleCode(config);
    }

    private static void bridge() {
        GenerateCodeService service = new GenerateCodeService();

        GenerateConfig config = new GenerateConfig();
        config.setType("MySql");
        config.setName("db_bridge");
        config.setHost("8.137.118.100");
//        config.setHost("localhost");
        config.setPort("3306");
        config.setUsername("root");
        config.setPassword("Rot132231,.");
//        config.setPassword("root123456");
        config.setAuthor("admin");
        config.setParent("cn.flying.cloud");
        config.setModuleName("file");
//        config.setModuleName("esb");
//        config.setModuleName("message");
        List<String> tableNames = new ArrayList<>();
//        tableNames.add("file_info");
//        tableNames.add("file_storage");

//        tableNames.add("eb_application_info");
//        tableNames.add("eb_application_service");
//        tableNames.add("eb_atomic_service");
//        tableNames.add("eb_atomic_param");
//        tableNames.add("eb_atomic_result");
//        tableNames.add("eb_trans_order");

//        tableNames.add("msg_storage");
//        tableNames.add("msg_info");
//        tableNames.add("msg_template");
        config.setTableNames(tableNames);

        service.generateMpStyleCode(config);
    }
}
